﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Configuration;

namespace sistemaAcademicoFinanceiroEscolas
{
    public class MontarPagamentoAluno
    {
        public void criarPagamentoAlunoSelecionado(List<int> meses, string codigoMatricula, string codigoAnoLetivo, string codigoSerie, string codigoTurma, string dia)
        {
            SqlConnection sqlc = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqlc.Open();
            SqlConnection sqld = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqld.Open();
            SqlConnection sqle = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqle.Open();

            string sqlMensalidade = "select * from mensalidade where codigoAnoLetivo = " + codigoAnoLetivo + " and codigoSerie = " + codigoSerie + " and codigoTurma = " + codigoTurma;

            SqlCommand cmdMensalidade = new SqlCommand(sqlMensalidade, sqlc);
            SqlDataReader drMensalidade = cmdMensalidade.ExecuteReader();

            int mesInicial, mesFinal;
            string valorMensalidade, codigoMensalidade;

            if (drMensalidade.HasRows)
            {
                while (drMensalidade.Read())
                {
                    foreach (var item in meses)
                    {
                        mesInicial = item;
                        mesFinal = item;

                        //mesInicial = Convert.ToInt16(drMensalidade["codigoMesInicial"].ToString());
                        //mesFinal = Convert.ToInt16(drMensalidade["codigoMesFinal"].ToString());
                        valorMensalidade = drMensalidade["valorMensalidade"].ToString();
                        codigoMensalidade = drMensalidade["codigoMensalidadeValor"].ToString();

                        if (mesFinal > 0 && mesInicial > 0 && mesFinal >= mesInicial)
                        {
                            for (int i = mesInicial; i <= mesFinal; i++)
                            {
                                string sqlmatricula = "SELECT codigoMatricula, codigoAnoLetivo, codigoSerie, codigoTurma, codigoAluno, observacoesMatricula, ";
                                sqlmatricula += "(SELECT descricaoAnoLetivo ";
                                sqlmatricula += "FROM anoLetivo ";
                                sqlmatricula += "WHERE (codigoAnoLetivo = matricula.codigoAnoLetivo)) AS descricaoAnoLetivo ";
                                sqlmatricula += "FROM matricula where codigoMatricula = " + codigoMatricula + " and codigoAnoLetivo = " + codigoAnoLetivo + " ";
                                sqlmatricula += "and codigoSerie = " + codigoSerie;

                                SqlCommand cmdmatricula = new SqlCommand(sqlmatricula, sqlc);
                                SqlDataReader drmatricula = cmdmatricula.ExecuteReader();

                                string sqlInsert = "";
                                string descricaoAnoLetivo = "";

                                if (drmatricula.HasRows)
                                {
                                    while (drmatricula.Read())
                                    {
                                        descricaoAnoLetivo = drmatricula["descricaoAnoLetivo"].ToString();

                                        string mes = i.ToString();

                                        if (dia.Length == 1)
                                        {
                                            dia = "0" + dia;
                                        }
                                        if (mes.Length == 1)
                                        {
                                            mes = "0" + mes;
                                        }

                                        sqlInsert = "insert into pagamentoAluno ";
                                        sqlInsert += "(codigoMatricula, dataVencimentoAluno, dataPagamentoAluno, valorPagoPagamentoAluno, ";
                                        sqlInsert += "valorPagamentoAluno, estadoPagamentoAluno, observacaoPagamentoAluno, tipoPagamento, codigoMes, codigoMensalidade, codigoAtividadeExtraClasse) ";

                                        sqlInsert += "values (" + codigoMatricula + ", '" + dia + "/" + mes + "/" + descricaoAnoLetivo + "', '', '', ";
                                        sqlInsert += "'" + valorMensalidade + "', 0, '', 'Mensalidade', " + mes + ", " + codigoMensalidade + ", NULL)";

                                        SqlCommand cmdInsert = new SqlCommand(sqlInsert, sqld);
                                        cmdInsert.ExecuteNonQuery();
                                    }
                                }
                                drmatricula.Close();
                                cmdmatricula.Dispose();
                            }
                        }
                    }
                }
            }
            drMensalidade.Close();
            cmdMensalidade.Dispose();

            sqlc.Close();
            sqld.Close();
            sqle.Close();
        }

        public void criarPagamentoAluno(string codigoMatricula, string codigoAnoLetivo, string codigoSerie, string codigoTurma, string dia)
        {
            SqlConnection sqlc = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqlc.Open();
            SqlConnection sqld = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqld.Open();
            SqlConnection sqle = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqle.Open();

            string sqlMensalidade = "select * from mensalidade where codigoAnoLetivo = " + codigoAnoLetivo + " and codigoSerie = " + codigoSerie + " and codigoTurma = " + codigoTurma;

            SqlCommand cmdMensalidade = new SqlCommand(sqlMensalidade, sqlc);
            SqlDataReader drMensalidade = cmdMensalidade.ExecuteReader();

            int mesInicial, mesFinal;
            string valorMensalidade, codigoMensalidade;

            if (drMensalidade.HasRows)
            {
                while (drMensalidade.Read())
                {
                    mesInicial = Convert.ToInt16(drMensalidade["codigoMesInicial"].ToString());
                    mesFinal = Convert.ToInt16(drMensalidade["codigoMesFinal"].ToString());
                    valorMensalidade = drMensalidade["valorMensalidade"].ToString();
                    codigoMensalidade = drMensalidade["codigoMensalidadeValor"].ToString();

                    if (mesFinal > 0 && mesInicial > 0 && mesFinal > mesInicial)
                    {
                        for (int i = mesInicial; i <= mesFinal; i++)
                        {
                            string sqlmatricula = "SELECT codigoMatricula, codigoAnoLetivo, codigoSerie, codigoTurma, codigoAluno, observacoesMatricula, ";
                            sqlmatricula += "(SELECT descricaoAnoLetivo ";
                            sqlmatricula += "FROM anoLetivo ";
                            sqlmatricula += "WHERE (codigoAnoLetivo = matricula.codigoAnoLetivo)) AS descricaoAnoLetivo ";
                            sqlmatricula += "FROM matricula where codigoMatricula = " + codigoMatricula + " and codigoAnoLetivo = " + codigoAnoLetivo + " ";
                            sqlmatricula += "and codigoSerie = " + codigoSerie;

                            SqlCommand cmdmatricula = new SqlCommand(sqlmatricula, sqlc);
                            SqlDataReader drmatricula = cmdmatricula.ExecuteReader();

                            string sqlInsert = "";
                            string descricaoAnoLetivo = "";

                            if (drmatricula.HasRows)
                            {
                                while (drmatricula.Read())
                                {
                                    descricaoAnoLetivo = drmatricula["descricaoAnoLetivo"].ToString();

                                    string mes = i.ToString();

                                    if (dia.Length == 1)
                                    {
                                        dia = "0" + dia;
                                    }
                                    if (mes.Length == 1)
                                    {
                                        mes = "0" + mes;
                                    }

                                    sqlInsert = "insert into pagamentoAluno ";
                                    sqlInsert += "(codigoMatricula, dataVencimentoAluno, dataPagamentoAluno, valorPagoPagamentoAluno, ";
                                    sqlInsert += "valorPagamentoAluno, estadoPagamentoAluno, observacaoPagamentoAluno, tipoPagamento, codigoMes, codigoMensalidade, codigoAtividadeExtraClasse) ";

                                    sqlInsert += "values (" + codigoMatricula + ", '" + dia + "/" + mes + "/" + descricaoAnoLetivo + "', '', '', ";
                                    sqlInsert += "'" + valorMensalidade + "', 0, '', 'Mensalidade', " + mes + ", " + codigoMensalidade + ", NULL)";

                                    SqlCommand cmdInsert = new SqlCommand(sqlInsert, sqld);
                                    cmdInsert.ExecuteNonQuery();
                                }
                            }
                            drmatricula.Close();
                            cmdmatricula.Dispose();
                        }
                    }
                }
            }
            drMensalidade.Close();
            cmdMensalidade.Dispose();

            sqlc.Close();
            sqld.Close();
            sqle.Close();
        }

        public void criarPagamentoAlunoAno(string codigoMatricula, string codigoAnoLetivo, string codigoSerie, string codigoTurma, string dia)
        {
            SqlConnection sqlc = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqlc.Open();
            SqlConnection sqld = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqld.Open();
            SqlConnection sqle = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqle.Open();

            string sqlMensalidade = "select * from mensalidade where codigoAnoLetivo = " + codigoAnoLetivo + " and codigoSerie = " + codigoSerie + " and codigoTurma = " + codigoTurma;

            SqlCommand cmdMensalidade = new SqlCommand(sqlMensalidade, sqlc);
            SqlDataReader drMensalidade = cmdMensalidade.ExecuteReader();

            int mesInicial, mesFinal;
            string valorMensalidade, codigoMensalidade;

            if (drMensalidade.HasRows)
            {
                while (drMensalidade.Read())
                {
                    mesInicial = DateTime.Now.Month;
                    mesFinal = Convert.ToInt16(drMensalidade["codigoMesFinal"].ToString());
                    valorMensalidade = drMensalidade["valorMensalidade"].ToString();
                    codigoMensalidade = drMensalidade["codigoMensalidadeValor"].ToString();

                    if (mesFinal > 0 && mesInicial > 0 && mesFinal > mesInicial)
                    {
                        for (int i = mesInicial; i <= mesFinal; i++)
                        {
                            string sqlmatricula = "SELECT codigoMatricula, codigoAnoLetivo, codigoSerie, codigoTurma, codigoAluno, observacoesMatricula, ";
                            sqlmatricula += "(SELECT descricaoAnoLetivo ";
                            sqlmatricula += "FROM anoLetivo ";
                            sqlmatricula += "WHERE (codigoAnoLetivo = matricula.codigoAnoLetivo)) AS descricaoAnoLetivo ";
                            sqlmatricula += "FROM matricula where codigoMatricula = " + codigoMatricula + " and codigoAnoLetivo = " + codigoAnoLetivo + " ";
                            sqlmatricula += "and codigoSerie = " + codigoSerie;

                            SqlCommand cmdmatricula = new SqlCommand(sqlmatricula, sqlc);
                            SqlDataReader drmatricula = cmdmatricula.ExecuteReader();

                            string sqlInsert = "";
                            string descricaoAnoLetivo = "";

                            if (drmatricula.HasRows)
                            {
                                while (drmatricula.Read())
                                {
                                    descricaoAnoLetivo = drmatricula["descricaoAnoLetivo"].ToString();

                                    string mes = i.ToString();

                                    if (dia.Length == 1)
                                    {
                                        dia = "0" + dia;
                                    }
                                    if (mes.Length == 1)
                                    {
                                        mes = "0" + mes;
                                    }

                                    sqlInsert = "insert into pagamentoAluno ";
                                    sqlInsert += "(codigoMatricula, dataVencimentoAluno, dataPagamentoAluno, valorPagoPagamentoAluno, ";
                                    sqlInsert += "valorPagamentoAluno, estadoPagamentoAluno, observacaoPagamentoAluno, tipoPagamento, codigoMes, codigoMensalidade, codigoAtividadeExtraClasse) ";

                                    sqlInsert += "values (" + codigoMatricula + ", '" + dia + "/" + mes + "/" + descricaoAnoLetivo + "', '', '', ";
                                    sqlInsert += "'" + valorMensalidade + "', 0, '', 'Mensalidade', " + mes + ", " + codigoMensalidade + ", NULL)";

                                    SqlCommand cmdInsert = new SqlCommand(sqlInsert, sqld);
                                    cmdInsert.ExecuteNonQuery();
                                }
                            }
                            drmatricula.Close();
                            cmdmatricula.Dispose();
                        }
                    }
                }
            }
            drMensalidade.Close();
            cmdMensalidade.Dispose();

            sqlc.Close();
            sqld.Close();
            sqle.Close();
        }

        public void criarPagamentoAlunoAnoMatricula(string codigoMatricula, string codigoAnoLetivo, string codigoSerie, string codigoTurma, string dia)
        {
            SqlConnection sqlj = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqlj.Open();
            SqlConnection sqlt = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqlt.Open();
            SqlConnection sqlq = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqlq.Open();

            string sqlMensalidade = "select * from mensalidade where codigoAnoLetivo = " + codigoAnoLetivo + " and codigoSerie = " + codigoSerie + " and codigoTurma = " + codigoTurma;

            SqlCommand cmdMensalidade2 = new SqlCommand(sqlMensalidade, sqlj);
            SqlDataReader drMensalidade2 = cmdMensalidade2.ExecuteReader();

            int mesInicial, mesFinal;
            string valorMensalidade, codigoMensalidade;

            if (drMensalidade2.HasRows)
            {
                while (drMensalidade2.Read())
                {
                    mesInicial = Convert.ToInt16(drMensalidade2["codigoMesInicial"].ToString());
                    mesFinal = Convert.ToInt16(drMensalidade2["codigoMesFinal"].ToString());
                    valorMensalidade = drMensalidade2["valorMensalidade"].ToString();
                    codigoMensalidade = drMensalidade2["codigoMensalidadeValor"].ToString();

                    if (mesFinal > 0 && mesInicial > 0 && mesFinal > mesInicial)
                    {
                        for (int i = mesInicial; i <= mesFinal; i++)
                        {
                            string sqlmatricula = "SELECT codigoMatricula, codigoAnoLetivo, codigoSerie, codigoTurma, codigoAluno, observacoesMatricula, ";
                            sqlmatricula += "(SELECT descricaoAnoLetivo ";
                            sqlmatricula += "FROM anoLetivo ";
                            sqlmatricula += "WHERE (codigoAnoLetivo = matricula.codigoAnoLetivo)) AS descricaoAnoLetivo ";
                            sqlmatricula += "FROM matricula where codigoMatricula = " + codigoMatricula + " and codigoAnoLetivo = " + codigoAnoLetivo + " ";
                            sqlmatricula += "and codigoSerie = " + codigoSerie;

                            SqlCommand cmdmatricula = new SqlCommand(sqlmatricula, sqlt);
                            SqlDataReader drmatricula = cmdmatricula.ExecuteReader();

                            string sqlInsert = "";
                            string descricaoAnoLetivo = "";

                            if (drmatricula.HasRows)
                            {
                                while (drmatricula.Read())
                                {
                                    descricaoAnoLetivo = drmatricula["descricaoAnoLetivo"].ToString();

                                    string mes = i.ToString();

                                    if (dia.Length == 1)
                                    {
                                        dia = "0" + dia;
                                    }
                                    if (mes.Length == 1)
                                    {
                                        mes = "0" + mes;
                                    }

                                    sqlInsert = "insert into pagamentoAluno ";
                                    sqlInsert += "(codigoMatricula, dataVencimentoAluno, dataPagamentoAluno, valorPagoPagamentoAluno, ";
                                    sqlInsert += "valorPagamentoAluno, estadoPagamentoAluno, observacaoPagamentoAluno, tipoPagamento, codigoMes, codigoMensalidade, codigoAtividadeExtraClasse) ";

                                    sqlInsert += "values (" + codigoMatricula + ", '" + dia + "/" + mes + "/" + descricaoAnoLetivo + "', '', '', ";
                                    sqlInsert += "'" + valorMensalidade + "', 0, '', 'Mensalidade', " + mes + ", " + codigoMensalidade + ", NULL)";

                                    SqlCommand cmdInsert = new SqlCommand(sqlInsert, sqlq);
                                    cmdInsert.ExecuteNonQuery();
                                }
                            }
                            drmatricula.Close();
                            cmdmatricula.Dispose();
                        }
                    }
                }
            }
            drMensalidade2.Close();
            cmdMensalidade2.Dispose();

            sqlj.Close();
            sqlt.Close();
            sqlq.Close();
        }

        public void modificarDataPagamentoAluno(string codigoMatricula, string dia, string codigoAnoLetivo, string codigoSerie, string codigoTurma)
        {
            string dataAtual = DateTime.Now.ToString("dd/MM/yyyy");

            SqlConnection sqlc = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqlc.Open();
            SqlConnection sqld = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqld.Open();

            string sql = "select * from pagamentoAluno where (CONVERT(datetime,dataVencimentoAluno,103)) > (CONVERT(datetime, '" + dataAtual + "', 103)) and tipoPagamento = 'Mensalidade' and codigoMatricula = " + codigoMatricula;

            SqlCommand cmd2 = new SqlCommand(sql, sqlc);
            SqlDataReader dr2 = cmd2.ExecuteReader();

            string dataVencimentoAluno = "";
            string codigoPagamentoAluno = "";
            string dataUpdate = "";

            if (dr2.HasRows)
            {
                while (dr2.Read())
                {
                    dataVencimentoAluno = dr2["dataVencimentoAluno"].ToString();
                    codigoPagamentoAluno = dr2["codigoPagamentoAluno"].ToString();
                    if (dia.Length == 1)
                    {
                        dia = "0" + dia;
                    }
                    dataUpdate = dataVencimentoAluno.Replace(dataVencimentoAluno.Substring(0, 2), dia);

                    string sqlUpdate = "update pagamentoAluno set dataVencimentoAluno='" + dataUpdate + "' where codigoPagamentoAluno=" + codigoPagamentoAluno;

                    SqlCommand cmdUpdate = new SqlCommand(sqlUpdate, sqld);
                    cmdUpdate.ExecuteNonQuery();
                }
            }
            else
            {
                criarPagamentoAlunoAnoMatricula(codigoMatricula, codigoAnoLetivo, codigoSerie, codigoTurma, dia);
            }

            cmd2.Dispose();
            dr2.Close();
            
            sqlc.Close();
            sqld.Close();
        }

        public void modificarMensalidadePagamentoAluno(string codigoAnoLetivo, string codigoSerie, string codigoTurma, string mensalidade, int mesInicial, int mesFinal)
        {
            SqlConnection sqlc = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqlc.Open();
            SqlConnection sqld = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqld.Open();
            SqlConnection sqle = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqle.Open();

            string sql = "select * from matricula where codigoAnoLetivo = " + codigoAnoLetivo + " and codigoSerie = " + codigoSerie + " and codigoTurma = " + codigoTurma;

            SqlCommand cmd = new SqlCommand(sql, sqlc);
            SqlDataReader dr = cmd.ExecuteReader();

            string codigoMatricula = "";
            string codigoPagamentoAluno = "";

            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    codigoMatricula = dr["codigoMatricula"].ToString();

                    string mes = DateTime.Now.Month.ToString();

                    if (mes.Substring(0, 1) == "0")
                    {
                        mes = mes.Replace("0", "");
                    }

                    for (int i = Convert.ToInt16(mes) + 1; i <= mesFinal; i++)
                    {
                        string sqlPagamento = "select * from pagamentoAluno where tipoPagamento = 'Mensalidade' and codigoMes = " + i + " and codigoMatricula = " + codigoMatricula;

                        SqlCommand cmdPagamento = new SqlCommand(sqlPagamento, sqld);
                        SqlDataReader drPagamento = cmdPagamento.ExecuteReader();

                        if (drPagamento.HasRows)
                        {
                            while (drPagamento.Read())
                            {
                                codigoPagamentoAluno = drPagamento["codigoPagamentoAluno"].ToString();

                                string sqlUpdate = "update pagamentoAluno set valorPagamentoAluno='" + mensalidade + "' where codigoPagamentoAluno=" + codigoPagamentoAluno;

                                SqlCommand cmdUpdate = new SqlCommand(sqlUpdate, sqle);
                                cmdUpdate.ExecuteNonQuery();
                            }
                        }

                        cmdPagamento.Dispose();
                        drPagamento.Close();
                    }
                }
            }

            cmd.Dispose();
            dr.Close();

            sqlc.Close();
            sqld.Close();
            sqle.Close();
        }

        public void criarPagamentoExtraAluno(string codigoMatricula, string codigoAtividade, string codigoAnoLetivo, string codigoAluno, string dia)
        {
            SqlConnection sqlc = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqlc.Open();
            SqlConnection sqld = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqld.Open();
            SqlConnection sqle = new SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
            sqle.Open();

            string sqlExtraClasse = "SELECT codigoAtividadeExtraClasseValor, codigoAtividadeExtraClasse, ";
            sqlExtraClasse += "atividadeExtraClasseValor, codigoAnoLetivo, codigoMesInicialAtividadeExtraClasseValor, ";
            sqlExtraClasse += "codigoMesFinalAtividadeExtraClasseValor, codigoDiaPagamento, ";
            sqlExtraClasse += "(SELECT descricaoAtividadeExtraClasse ";
            sqlExtraClasse += "FROM atividadeExtraClasse ";
            sqlExtraClasse += "WHERE (codigoAtividadeExtraClasse = valorAtividadeExtraClasse.codigoAtividadeExtraClasse)) ";
            sqlExtraClasse += "AS descricaoAtividadeExtraClasse ";
            sqlExtraClasse += "FROM valorAtividadeExtraClasse ";
            sqlExtraClasse += "WHERE codigoAnoLetivo = " + codigoAnoLetivo + " and codigoAtividadeExtraClasse = " + codigoAtividade;

            SqlCommand cmdExtraClasse = new SqlCommand(sqlExtraClasse, sqlc);
            SqlDataReader drExtraClasse = cmdExtraClasse.ExecuteReader();

            int mesInicial, mesFinal;
            string valorExtraClasse, codigoExtraClasse;

            if (drExtraClasse.HasRows)
            {
                while (drExtraClasse.Read())
                {
                    mesInicial = Convert.ToInt16(drExtraClasse["codigoMesInicialAtividadeExtraClasseValor"].ToString());
                    mesFinal = Convert.ToInt16(drExtraClasse["codigoMesFinalAtividadeExtraClasseValor"].ToString());
                    valorExtraClasse = drExtraClasse["atividadeExtraClasseValor"].ToString();
                    codigoExtraClasse = drExtraClasse["codigoAtividadeExtraClasse"].ToString();

                    if (mesFinal > 0 && mesInicial > 0 && mesFinal > mesInicial)
                    {
                        for (int i = mesInicial; i <= mesFinal; i++)
                        {
                            string sqlmatricula = "SELECT codigoMatricula, codigoAnoLetivo, codigoAluno, observacoesMatricula, ";
                            sqlmatricula += "(SELECT descricaoAnoLetivo ";
                            sqlmatricula += "FROM anoLetivo ";
                            sqlmatricula += "WHERE (codigoAnoLetivo = matricula.codigoAnoLetivo)) AS descricaoAnoLetivo ";
                            sqlmatricula += "FROM matricula where codigoMatricula = " + codigoMatricula + " and codigoAnoLetivo = " + codigoAnoLetivo;

                            SqlCommand cmdmatricula = new SqlCommand(sqlmatricula, sqlc);
                            SqlDataReader drmatricula = cmdmatricula.ExecuteReader();

                            string sqlInsert = "";
                            string descricaoAnoLetivo = "";

                            if (drmatricula.HasRows)
                            {
                                while (drmatricula.Read())
                                {
                                    descricaoAnoLetivo = drmatricula["descricaoAnoLetivo"].ToString();

                                    string mes = i.ToString();

                                    if (dia.Length == 1)
                                    {
                                        dia = "0" + dia;
                                    }
                                    if (mes.Length == 1)
                                    {
                                        mes = "0" + mes;
                                    }

                                    sqlInsert = "insert into pagamentoAluno ";
                                    sqlInsert += "(codigoMatricula, dataVencimentoAluno, dataPagamentoAluno, valorPagoPagamentoAluno, ";
                                    sqlInsert += "valorPagamentoAluno, estadoPagamentoAluno, observacaoPagamentoAluno, tipoPagamento, codigoMes, codigoMensalidade, codigoAtividadeExtraClasse) ";

                                    sqlInsert += "values (" + codigoMatricula + ", '" + dia + "/" + mes + "/" + descricaoAnoLetivo + "', '', '', ";
                                    sqlInsert += "'" + valorExtraClasse + "', 0, '', 'Atividade extra classe', " + mes + ", NULL, " + codigoExtraClasse + ")";

                                    SqlCommand cmdInsert = new SqlCommand(sqlInsert, sqld);
                                    cmdInsert.ExecuteNonQuery();
                                }
                            }
                            drmatricula.Close();
                            cmdmatricula.Dispose();
                        }
                    }
                }
            }
            drExtraClasse.Close();
            cmdExtraClasse.Dispose();

            sqlc.Close();
            sqld.Close();
            sqle.Close();
        }
    }
}
